package com.merry.beanFactory.bf;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.lang.Nullable;

/**
 * BeanFactory的直接下级接口。
 * 该接口实现了 {@link BeanFactory} 接口，提供了分成功能。
 *  可以在 {@link ConfigurableBeanFactory} 接口中找到设置父容器的 {@code setParentBeanFactory} 方法，并设置。
 *
 * @see ConfigurableBeanFactory#setParentBeanFactory
 */
public interface HierarchicalBeanFactory extends BeanFactory {

    /**
     * 返回当前容器的父容器。
     */
    @Nullable
    BeanFactory getParentBeanFactory();

    /**
     * 根据BeanName，返回在当前层级的容器中是否有该bean。
     */
    boolean containsLocalBean(String name);

}
